A typical large entity, such as a company, educational institution, or other organization, has thousands of computer systems to manage. Each computer system in the large entity may execute dozens of applications (i.e., software), such as operating system applications, networking applications, database applications, as well as any other type of applications that may exist. Typically, in order to execute an application, the application, or portion thereof (e.g., the client component of a database), must be installed directly on the computer system after obtaining the license for the application.
One common method for installing software on a computer system is for a user to buy an application in a retail store, insert the disk (e.g., floppy disk, CD-ROM, etc.) in a disk drive and execute each of the various configuration steps at the computer on which the software is being installed. The configuration steps typically include such tasks as accepting a license agreement, determining which location to store the software, determining the portion of the software should be installed (e.g., minimal installation, typical installation, or complete installation), determining any extra components to install, and waiting for the installation to complete.
Another possible method for installing software is to obtain the license for the software via the wide area network, download an executable file with the software, open the downloaded file and follow various configuration steps, such as those stated above.
In a large entity, rather than having a user access the computer system directly (i.e., sit at a terminal of the computer system) to install the software, a user or administrator may purchase multiple licenses (i.e., one for each computer system on which the software is to be installed) for the software and provision the software on each computer system. Provisioning software is a method of remote installation of software. Provisioning the software typically involves an administrator with the software located on one computer system, selecting a second computer system on which the software is to be installed, selecting a configuration profile, and starting the installation of the software on the second computer system. The administrator must perform the aforementioned operations for each computer system on which the software is to be executed. Only when the software is installed on a particular computer system may the software be executed.